A best-first search is an iterative search that at each iteration tries to extend the partial solution with the best estimated cost. Best-first searches have often been used to identify the shortest path between source and target points in a multi-point search space. One such best-first search is the A* search. To identify a path between source and target points, the A* search starts one or more paths from the source and/or target points. It then iteratively identifies one or more path expansions about the lowest cost path, until it identifies a path that connects the source and target points.
The typical cost of a path expansion in an A* search is an {circumflex over (F)} cost, which is the cost of the path leading up to the path expansion plus an estimated cost of reaching a target point from the path expansion. An {circumflex over (F)} cost of a path that has reached a particular point can be expressed as follows:{circumflex over (F)}=G+Ĥ. In this formula, G specifies the cost of the path from a source point to the particular point through the sequence of expansions that led to the particular point, while Ĥ specifies the estimated lower-bound cost from the particular point to a target point.
An A* search is not suitable for finding the lowest-cost path in a graph with non-zero dimensional states. This is because the A* search computes a single cost value for the expansion to any state in the graph, while the actual cost can vary across a non-zero dimensional state. Accordingly, there is a need for a path search process that can identify the lowest-cost path in a graph with non-zero dimensional states.